package cn.com.service.sys;

import java.util.List;

import cn.com.commons.Paginator;
import cn.com.dal.dataobject.hr.RoleDO;
import cn.com.support.message.MessageResult;

/**
 * 
 * RoleService 接口
 * 
 * @since 2012-3-21 下午9:15:40
 * @version 1.0
 * @author Microbun
 * 
 */
public interface RoleService {
	/**
	 * 保存数据
	 * 
	 * @param obj
	 * @return
	 */
	MessageResult<Long> save(RoleDO obj);

	/**
	 * 更新数据
	 * 
	 * @param obj
	 * @return
	 */
	MessageResult<Integer> updateById(RoleDO obj);

	/**
	 * 删除数据
	 * 
	 * @param obj
	 * @return
	 */
	MessageResult<Integer> delete(Long[] id);

	/**
	 * 查询所有
	 * 
	 * @param condition
	 *            查询条件
	 * @return
	 */
	<C> List<RoleDO> selectList(C condition);

	/**
	 * 根据ID查询
	 * 
	 * @param id
	 * @return
	 */
	MessageResult<RoleDO> selectById(Long id);

	/**
	 * 分页查询
	 * 
	 * @param paginator
	 * @return
	 */
	<C> Paginator<C, List<RoleDO>> selectForPage(
			Paginator<C, List<RoleDO>> paginator);
}
